package behavior.memento;

/**
 * @author dali
 * @date 2021-07-27 16:52
 * @Description 发起者对应游戏类
 */

public class Originator {
    //小怪的数量
    private int currentCount;
    //小怪单个的价值
    private final int value = 2;

    //存档
    public Memento save() {
        System.out.println("存档中...");
        return new Memento(currentCount);
    }

    //恢复分数
    public void restoreProcess(Memento memento) {
        System.out.println("读档中...");
        currentCount = memento.getScore();
    }

    //杀死一个小怪+2分
    public void kill() {
        System.out.println("小怪被消灭！获得"+value+"分");
        currentCount++;
    }

    public void getScore(){
        System.out.println("目前的游戏数据为：杀了"+currentCount+"只怪，分数为"+currentCount*value+"分");
    }

    public void exit() {
        System.out.println("退出游戏");
        currentCount = 0;
    }
}
